1. Field of the Invention
The present invention generally relates to a computer implemented approach to determine the distance from each of set of input points to each of a set of fixed points, and more specifically to the use of such approaches to speech encoding.
2. Related Art
There is often a need to determine the distance from each of a set of input points to each of a set of fixed points. For example, in data compression techniques (e.g., speech encoding), the nearest code words (fixed points) corresponding to parameters (“speech parameters”) characterizing speech samples are often determined. The nearest code words may then be deemed to represent one or more of the speech samples. Examples of such approaches are described in the 3GPP2 C.S0030—0 standard, Version 3.0, Dated January 2004, entitled, “Selectable Mode Vocoder (SMV) Service Option for Wideband Spread Spectrum Communication Systems”.
The distance between two points (in a n-dimensional space) a and b, having coordinates of (a1, a2, . . . an) and (b1, b2, . . . , bn) may be computed using Euclidean approach according to Equation (1) below:
                              Distance          ⁢                                          ⁢                      (                          a              ,              b                        )                          =                                            ∑                              j                =                1                            n                        ⁢                                          (                                  aj                  -                  bj                                )                            2                                                  Equation1                                                Energy            ⁢                                                  ⁢                          (              a              )                                +                      energy            ⁢                                                  ⁢                          (              b              )                                -                      DotProductsum            ⁡                          (                              a                ,                b                            )                                                          Equation        ⁢                                  ⁢                  (          3          )                    
In one approach, assuming that there are R fixed points and L input points (wherein L and R are integers), Equation (1) is used (L*R) times. For each distance between a pair of points, the number of computations equal n subtractions, n square operations, (n−1) additions, and one square root operation.
Thus, for illustration, assuming R=30, L=7, n=10, the number of computations equals {(30*7) (10 subtractions, 10 square operations, 9 additions, and 1 square root)}. That is, 2100 square operations, 2100 subtractions, 1890 additions and 210 square root operations, may be performed in total. Alternatively, only the square of the distance may suffice in some embodiments and the 210 square root operations may be avoided in such embodiments.
There is a general need to reduce the computational complexity while determining such distances.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.